package com.zmn.oms.common.constant;

import com.zmn.pay.common.constant.PayConsts;

import java.util.Arrays;
import java.util.List;

/**
 * 类描述：订单支付常量
 *
 * @author heciqi
 * @date 2021/7/19 14:48
 */
public class OrderPayConsts {

    /********************************************** 工单支付金额类型 **/
    /**
     * 工单啄木鸟预付
     */
    public final static int ORDER_PAY_PREPAY = 11;

    /**
     * 工单渠道预付
     */
    public final static int ORDER_PAY_CHANNEL_PREPAY = 12;

    /**
     * 工单定金
     */
    public final static int ORDER_PAY_DEPOSIT = 13;

    /**
     * 师傅收款
     */
    public final static int ORDER_PAY_MASTER = 14;

    /**
     * 进度款
     */
    public final static int ORDER_PAY_PROGRESS = 15;

    /**
     * 优惠金额
     */
    public final static int ORDER_PAY_DISCOUNT = 100;
    /**
     * 质保金支付
     */
    public final static int ORDER_PAY_WARRANTY= 101;

    /********************************************** 工单支付重复类别 **/

    /**
     * 无重复
     */
    public final static int ORDER_PAY_DUPLICATION_TYPE_NONE = 0;

    /**
     * 系统重复
     */
    public final static int ORDER_PAY_DUPLICATION_TYPE_SYS = 1;

    /**
     * 业务重复
     */
    public final static int ORDER_PAY_DUPLICATION_TYPE_BIZ = 2;

    /**
     * 模版支付方式
     */
    public static final List<Integer> TEMPLATE_PAY_TYPE_LIST = Arrays.asList(PayConsts.PAY_TYPE_QR,
            PayConsts.PAY_TYPE_H5, PayConsts.PAY_TYPE_SERVNUMBERPAY, PayConsts.PAY_TYPE_XIAOCHENGXU);


    /**
     * 获取支付名称
     *
     * @param amountType
     * @return
     */
    public static String getAmountTypeName(Integer amountType) {
        if (amountType == null) {
            return "未知";
        }

        switch (amountType.intValue()) {
            case ORDER_PAY_PREPAY:
                return "啄木鸟预收";
            case ORDER_PAY_CHANNEL_PREPAY:
                return "渠道预付";
            case ORDER_PAY_MASTER:
                return "师傅收款";
            case ORDER_PAY_DEPOSIT:
                return "定金";
            case ORDER_PAY_PROGRESS:
                return "进度款";
            case ORDER_PAY_WARRANTY:
                return "质保金";
            default:
                return "未知";
        }
    }


    /**
     * 获取配件支付方式名称
     *
     * @param payType
     * @return
     */
    public static String getPartPayTypeName(Integer payType) {
        if (payType == null) {
            return "";
        }
		// 1支付宝、2微信、3、渠道、4质保金。
        switch (payType.intValue()) {
            case 1:
                return "支付宝";
            case 2:
                return "微信";
            case 3:
                return "渠道";
            case 4:
                return "质保金";
            default:
                return "";
        }
    }



}
